Skip to content

build(deps): Update DFMethods requirement to 0.3.0 in /docs - #12

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/julia/docs/DFMethods-0.2.1
Closed

build(deps): Update DFMethods requirement to 0.3.0 in /docs#12
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/julia/docs/DFMethods-0.2.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github May 23, 2026

Copy link
Copy Markdown

Updates the requirements on DFMethods to permit the latest version.

Release notes

Sourced from DFMethods's releases.

v0.3.0

DFMethods v0.3.0

Diff since v0.2.1

Breaking changes

DFProjectionCache is now parametric on element type T <: AbstractFloat. The type signature changes from DFProjectionCache{Alg, F, S, DirState, LSCache, IUpState, StopState} (v0.2.x) to DFProjectionCache{T, Alg, F, S, DirState, LSCache, IUpState, StopState} (v0.3.0).

  • Practically affected: user code that explicitly dispatches on the cache type needs to add a leading T parameter.
  • Not affected: user code that consumes a cache returned by init(prob, alg) or init_cache(F, x0, alg)T is inferred at the call site from eltype(x0).

Non-breaking additions

  • Element-type genericity (lifts the v0.1.0 "Float64-only" known limitation): solve(NonlinearProblem(F, Float32.(u0)), DFProjection()) now produces a Vector{Float32} cache end-to-end. Same for BigFloat. T flows from eltype(u0) with Float64 fallback for non-floating eltypes. Algorithm-parameter struct fields stay Float64 and coerce at the boundary.
  • direction!'s ctx gains a direction_state field (8 fields total). Routes init_state(::AbstractSearchDirection, ...) output to custom directions. Closes the v0.2.1 known limitation.
  • README slimmed 121 → 43 lines; docs/src/index.md gains an Installation section.
  • Zenodo DOI: CITATION.cff + .zenodo.json at the package root.

Fixed (latent bugs)

  • HalpernState.init_state force-coerced x0 to Float64 (BigFloat Halpern users lost precision); now preserves eltype(x).
  • _wrap_problem_F's in-place case allocated Vector{eltype(u0)} for out_buf while the cache was always Float64 (Int u0 with in-place F! would error); now uniformly T-derived.

See the v0.3.0 changelog entry for the full set of changes.

Changelog

Sourced from DFMethods's changelog.

[0.3.0] — 2026-05-22

Element-type genericity, direction-state ctx surfacing, documentation professionalization, and the package's first Zenodo DOI. The DFProjectionCache and all built-in components become parametric on element type T <: AbstractFloat, lifting the v0.1.0 "Float64-only" limitation. Algorithms now solve in Float32, Float64, or BigFloat end-to-end (T flows from the problem's eltype(u0) with Float64 fallback for non-floating eltypes; algorithm-parameter struct fields stay Float64 and coerce at the boundary — matches the LineSearch.jl / NonlinearSolve.jl / Optim.jl / DiffEq.jl convention). 242/242 tests pass.

Added

  • Element-type genericity (lifts v0.1.0 known limitation):
    • DFProjectionCache{T, Alg, F, S, DirState, LSCache, IUpState, StopState} parametric on T <: AbstractFloat.
    • All built-in components T-aware: search direction (SpectralThreeTerm), line searches (ConstantBacktrack, ResidualNormBacktrack, AdaptiveClampedBacktrack), iterate-update strategies (SolodovSvaiterProjection, HalpernUpdate, DirectUpdate), inertial rules (Inertial, NoInertial), constraint sets (BoxSet, HalfSpace, CappedBox, Intersection), stopping criteria, projection helper (approx_project_X_halfspace!).
    • init_cache derives T = eltype(x0) <: AbstractFloat ? eltype(x0) : Float64 and allocates all per-iteration buffers as Vector{T}.
    • Public path: solve(NonlinearProblem(F, Float32.(u0)), DFProjection()) produces a Vector{Float32} cache + Vector{Float32} sol.u + Vector{Float32} sol.resid end-to-end.
    • New test coverage: three Float32 smoke testsets (default config, alternate components, box-constrained) + one BigFloat sanity testset (n=3, ≤5 s budget). 229 → 242 tests.
    • Five examples/ files (mprpl_direction.jl, nonmonotone_armijo.jl, mann_iteration.jl, l1_ball.jl, mainge_inertia.jl) updated to the parametric pattern so they remain valid templates for users.
  • direction! ctx gains a direction_state field (8 fields total). Routes init_state(::AbstractSearchDirection, ...) output through to custom directions. Closes the v0.2.1 known limitation. Two new schema-pinning tests (direction! ctx + update_iterate! ctx) catch doc/code drift via CI.
  • Runtime ctx introspection: keys(ctx) returns the live field tuple inside any custom rule. Documented in extending.md §0 "Mutation policy" alongside the schema-pinning convention.
  • docs/src/index.md gains an ## Installation section — canonical home for install instructions; previously only in the README.
  • CITATION.cff (Citation File Format v1.2.0) at the package root. Lights up GitHub's Cite this repository button and feeds Zenodo metadata; carries author ORCID.
  • .zenodo.json at the package root. Zenodo metadata override (creator

... (truncated)

Commits
  • 60ceb18 Merge pull request #10 from mmogib/v0.3.0-dev
  • eb7cb4f Release v0.3.0: element-type genericity + first Zenodo DOI
  • 98c4943 Merge pull request #9 from mmogib/v0.2.1-dev
  • c6e5330 Release v0.2.1
  • ee1a0ea Merge pull request #8 from mmogib/v0.2-dev
  • f661734 Release v0.2.0
  • cd9579c v0.2 docs: reframe package as software, not paper implementation
  • a7644d0 v0.2 docs: sharpen README ecosystem positioning
  • 3f13f3d v0.2 docs: align README + examples/extending.jl with v0.2 API
  • 182ac75 v0.2 Stage 7: docs overhaul
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels May 23, 2026
Updates the requirements on [DFMethods](https://github.com/mmogib/DFMethods.jl) to permit the latest version.
- [Release notes](https://github.com/mmogib/DFMethods.jl/releases)
- [Changelog](https://github.com/mmogib/DFMethods.jl/blob/main/CHANGELOG.md)
- [Commits](v0.1.0...v0.3.0)

---
updated-dependencies:
- dependency-name: DFMethods
  dependency-version: 0.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Update DFMethods requirement to 0.2.1 in /docs build(deps): Update DFMethods requirement to 0.3.0 in /docs May 24, 2026
@dependabot
dependabot Bot force-pushed the dependabot/julia/docs/DFMethods-0.2.1 branch from 527b237 to 81b38d9 Compare May 24, 2026 08:47
@dependabot @github

dependabot Bot commented on behalf of github May 30, 2026

Copy link
Copy Markdown
Author

Superseded by #19.

@dependabot dependabot Bot closed this May 30, 2026
@dependabot
dependabot Bot deleted the dependabot/julia/docs/DFMethods-0.2.1 branch May 30, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file julia Pull requests that update julia code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants